package com.haixiaoke.saas.houseMember.service;

import com.haixiaoke.saas.houseMember.domain.HouseMember;

import java.util.List;


/**
 * 房屋成员Service接口
 *
 * @author qixi
 * @date 2024-03-07
 */
public interface IHouseMemberService {
    /**
     * 查询房屋成员
     *
     * @param memberId 房屋成员主键
     * @return 房屋成员
     */
    HouseMember selectHouseMemberByMemberId(Long memberId);

    /**
     * 查询房屋成员列表
     *
     * @param houseMember 房屋成员
     * @return 房屋成员集合
     */
    List<HouseMember> selectHouseMemberList(HouseMember houseMember);

    /**
     * 新增房屋成员
     *
     * @param houseMember 房屋成员
     * @return 结果
     */
    int insertHouseMember(HouseMember houseMember);

    /**
     * 修改房屋成员
     *
     * @param houseMember 房屋成员
     * @return 结果
     */
    int updateHouseMember(HouseMember houseMember);

    /**
     * 批量删除房屋成员
     *
     * @param memberIds 需要删除的房屋成员主键集合
     * @return 结果
     */
     int deleteHouseMemberByMemberIds(Long[] memberIds);

    /**
     * 删除房屋成员信息
     *
     * @param memberId 房屋成员主键
     * @return 结果
     */
    int deleteHouseMemberByMemberId(Long memberId);

    int countMemberNumberByOrderId(String orderId);

    List<HouseMember> selectHouseMemberListByOrderId(String orderId);

    List<HouseMember> selectHouseMemberByMemberIds(Long[] memberIds);

    int rentingTerminationByOrderId(String orderId);

    /**
     * 批量插入房屋成员
     *
     * @param houseMemberList
     * @return
     */
    int insertBatchHouseMember(List<HouseMember> houseMemberList);

    HouseMember selectHouseMemberListByMemberPhone(String memberPhone, String orderId);

    int updateHouseIdByOrderId(String orderId, String houseId);

    List<HouseMember> getHouseList(HouseMember houseMember);


    HouseMember getMemberInfo(String orderId, Long userId);

    HouseMember selectHouseMemberListByIdCard(String idCard, String orderId);

    int authentication(HouseMember houseMember);

    int editManager(HouseMember houseMember);

    List<HouseMember> selectHouseMemberListByHouseId(String houseId);

    int updateBatchHouseMember(List<HouseMember> houseMemberList);

    int deleteHouseMemberByOrderId(String orderId);

    int deleteHouseMemberByOrderIds(List<String> orderIds);

    HouseMember selectHouseMemberByHouseIdAndUserId(String houseId, Long userId);
}
